//
//  ViewController.m
//  imageScale
//
//  Created by Hello Cai on 2020/4/18.
//  Copyright © 2020 Hello Cai. All rights reserved.
//

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    
    self.view.backgroundColor = [UIColor whiteColor];
    
    NSArray *images = @[@"tab_zhuanxianjijn_nor", @"tab_btn_ic_mine_nor", @"tab_btn_ic_life_nor"];
    for (int i=0; i<3; i++) {
        UIImage *image = [UIImage imageNamed:images[i]];
        if (i==0) {
            /* 当“tab_zhuanxianjijn_nor”没有带任何后缀时，默认被当做1倍图，在加载视图尺寸时
               一个像数会被当成一个点，则imageView.frame.size等于(72, 72);
               对于“tab_zhuanxianjijn_nor@2x”，则视为2倍图，在加载视图尺寸时，
               两个像数会被当成一个点，则imageView.frame.size等于(36, 36);
               对于“tab_zhuanxianjijn_nor@3x”，则视为3倍图，在加载视图尺寸时，
               三个像数会被当成一个点，则imageView.frame.size等于(24, 24);
             
             当图片名称没有@3x，如何用代码告知系统将其视为3倍图呢，用如下方式：
             */
            //iOS13 禁止用setValue forKey设置私有属性，否则会崩溃
//            [image setValue:@(3) forKey:@"scale"];
            
            //用更通用的方式设置scale
            image = [UIImage imageWithCGImage:image.CGImage scale:3.0 orientation:image.imageOrientation];
        }
        
        
        //要在之前更改scale
        UIImageView *imageView = [[UIImageView alloc] initWithImage:image];
        CGRect frame = imageView.frame;
        frame.origin.x = 100 + i*80;
        frame.origin.y = 80;
        imageView.frame = frame;
        [self.view addSubview:imageView];
    }
}

@end
